﻿//Copyright 2011 - Jonathan Allen

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;

namespace Granite.Collections
{
    ///// <summary>
    ///// This is a collection that can never be changed. 
    ///// </summary>
    ///// <remarks>Note: Unlike a ReadOnlyCollection, this will not change if the underlying collection changes.</remarks>
    //public class ImmutableCollection<T> : ReadOnlyCollection<T>
    //{

    //    /// <summary>
    //    /// 
    //    /// </summary>
    //    /// <param name="items"></param>
    //    public ImmutableCollection(IEnumerable<T> items)
    //        : base(new List<T>(items))       //it is important that a copy is made.
    //    {

    //    }

    //    /// <summary>
    //    /// 
    //    /// </summary>
    //    /// <param name="items"></param>
    //    public ImmutableCollection(params T[] items)
    //        : base(new List<T>(items))       //it is important that a copy is made.
    //    {

    //    }

    //}
}
